package com.gopay.common.util.xml.utils.converters;

import java.math.BigDecimal;

public class BigDecimalConverter extends AbstractConverter{
	
	public BigDecimalConverter(Object defaultValue){
		this(true, defaultValue);
	}
	
	public BigDecimalConverter(boolean isUseDefaultValue, Object defaultValue){
		this.isUseDefaultValue = isUseDefaultValue;
		setDefaultValue(defaultValue);
	}

	@Override
    public Object convert(Object value)throws Exception{
		if(value == null){
			value = isUseDefaultValue ? getDefaultValue() : value;
			return value;
		}
		if(value.toString().trim().equals("")){
			value = isUseDefaultValue ? getDefaultValue() : value;
			return value;
		}
		BigDecimal big = BigDecimal.class.getConstructor(new Class[]{value.getClass()}).newInstance(value);
		return big;
	}
}
